home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / C / ShapeB.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-04-19  |  18.7 KB  |  595 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:C:ShapeB.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emith.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Classes defined in this interface
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODBaseShape_h
  18. #define SOM_ODBaseShape_h
  19.  
  20.  
  21. #include <som.h>
  22.  
  23. /*
  24.  * -- This emitter treats Method Tokens as Thunks by default
  25.  * -- Use the sc modifier "nothunks" to change this default
  26.  */
  27. #undef somresolve_
  28. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  29.  
  30. /*
  31.  * Define the class name as an object type
  32.  */
  33. #ifndef ODBaseShape
  34. #define ODBaseShape SOMObject
  35. #endif
  36. #include <ODObject.h>
  37.  
  38. /*
  39.  * Start of user-defined types:
  40.  */
  41. #ifndef ODExtension
  42.     #define ODExtension SOMObject
  43. #endif /* ODExtension */
  44. #ifndef ODStorageUnit
  45.     #define ODStorageUnit SOMObject
  46. #endif /* ODStorageUnit */
  47. #ifndef ODShape
  48.     #define ODShape SOMObject
  49. #endif /* ODShape */
  50. #ifndef ODTransform
  51.     #define ODTransform SOMObject
  52. #endif /* ODTransform */
  53.  
  54. /*
  55.  * End of user-defined types.
  56.  */
  57.  
  58. #define ODBaseShape_MajorVersion 1
  59. #define ODBaseShape_MinorVersion 0
  60.  
  61. /*
  62.  * External name shortening if required
  63.  */
  64. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  65. #define ODBaseShapeNewClass c
  66. #define ODBaseShapeClassData d
  67. #define ODBaseShapeCClassData x
  68. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  69. /*--------------Migration------------*/
  70. #define ODBaseShape_classObj ODBaseShapeClassData.classObject
  71. #define _ODBaseShape ODBaseShape_classObj
  72.  
  73. /*
  74.  * Declare the class creation procedure
  75.  */
  76.  
  77. #if applec ^ PRAGMA_LIB_EXPORT
  78. #pragma lib_export on
  79. #endif
  80.  
  81. SOMEXTERN SOMClass * SOMLINK ODBaseShapeNewClass(integer4 somtmajorVersion,
  82.         integer4 somtminorVersion);
  83.  
  84. /*
  85.  * Declare the class data structure
  86.  */
  87. SOMEXTERN struct ODBaseShapeClassDataStructure {
  88.     SOMAny *classObject;
  89.     somMToken SetGeometryMode;
  90.     somMToken GetGeometryMode;
  91.     somMToken GetBoundingBox;
  92.     somMToken SetRectangle;
  93.     somMToken CopyPolygon;
  94.     somMToken SetPolygon;
  95.     somMToken GetPlatformShape;
  96.     somMToken SetPlatformShape;
  97.     somMToken WriteShape;
  98.     somMToken ReadShape;
  99.     somMToken IsSameAs;
  100.     somMToken IsEmpty;
  101.     somMToken ContainsPoint;
  102.     somMToken IsRectangular;
  103.     somMToken HasGeometry;
  104.     somMToken Copy;
  105.     somMToken CopyFrom;
  106.     somMToken Transform;
  107.     somMToken InverseTransform;
  108.     somMToken Subtract;
  109.     somMToken Intersect;
  110.     somMToken Union;
  111.     somMToken reserved1;
  112. }
  113. #ifdef SOM_NO_DATA_EXPORTS
  114.     * ODBaseShapeGetClassData ( void );
  115. #   undef ODBaseShapeClassData
  116. #   define ODBaseShapeClassData (*ODBaseShapeGetClassData())
  117. #else
  118.       ODBaseShapeClassData;
  119. #endif /* SOM_NO_DATA_EXPORTS */
  120.  
  121. #if applec ^ PRAGMA_LIB_EXPORT
  122. #pragma lib_export off
  123. #endif
  124.  
  125.  
  126. /*
  127.  * Declare the C specific class data structure
  128.  */
  129. SOMEXTERN struct ODBaseShapeCClassDataStructure {
  130.     somMethodTabs parentMtab;
  131.     somDToken instanceDataToken;
  132. } ODBaseShapeCClassData;
  133.  
  134. /*
  135.  * New and Renew macros for ODBaseShape
  136.  */
  137. #define ODBaseShapeNew() \
  138.     ( ( ! (ODBaseShapeClassData.classObject) && \
  139.         (ODBaseShapeNewClass(ODBaseShape_MajorVersion, ODBaseShape_MinorVersion)) ), \
  140.       (_somNew(ODBaseShapeClassData.classObject)) )
  141. #define ODBaseShapeRenew(buf) \
  142.     ( _somRenew(ODBaseShapeClassData.classObject, buf) )
  143.  
  144. /*
  145.  * Override method: somInit
  146.  */
  147. #define ODBaseShape_somInit(somSelf) \
  148.     SOMObject_somInit(somSelf)
  149.  
  150. /*
  151.  * Override method: somUninit
  152.  */
  153. #define ODBaseShape_somUninit(somSelf) \
  154.     SOMObject_somUninit(somSelf)
  155.  
  156. /*
  157.  * New Method: SetGeometryMode
  158.  */
  159. typedef void   (SOMLINK *somTD_ODBaseShape_SetGeometryMode)(ODBaseShape *somSelf, Environment *ev,
  160.         ODGeometryMode mode);
  161. #define somMD_ODBaseShape_SetGeometryMode "::ODBaseShape::SetGeometryMode"
  162. #define ODBaseShape_SetGeometryMode(somSelf,ev,mode) \
  163.     (SOM_Resolve(somSelf, ODBaseShape, SetGeometryMode) \
  164.     (somSelf,ev,mode))
  165. #ifndef SOMGD_SetGeometryMode
  166.     #if (defined(_SetGeometryMode) || defined(__SetGeometryMode))
  167.         #undef _SetGeometryMode
  168.         #undef __SetGeometryMode
  169.         #define SOMGD_SetGeometryMode 1
  170.     #else
  171.         #define _SetGeometryMode ODBaseShape_SetGeometryMode
  172.     #endif /* _SetGeometryMode */
  173. #endif /* SOMGD_SetGeometryMode */
  174.  
  175. /*
  176.  * New Method: GetGeometryMode
  177.  */
  178. typedef ODGeometryMode   (SOMLINK *somTD_ODBaseShape_GetGeometryMode)(ODBaseShape *somSelf, Environment *ev);
  179. #define somMD_ODBaseShape_GetGeometryMode "::ODBaseShape::GetGeometryMode"
  180. #define ODBaseShape_GetGeometryMode(somSelf,ev) \
  181.     (SOM_Resolve(somSelf, ODBaseShape, GetGeometryMode) \
  182.     (somSelf,ev))
  183. #ifndef SOMGD_GetGeometryMode
  184.     #if (defined(_GetGeometryMode) || defined(__GetGeometryMode))
  185.         #undef _GetGeometryMode
  186.         #undef __GetGeometryMode
  187.         #define SOMGD_GetGeometryMode 1
  188.     #else
  189.         #define _GetGeometryMode ODBaseShape_GetGeometryMode
  190.     #endif /* _GetGeometryMode */
  191. #endif /* SOMGD_GetGeometryMode */
  192.  
  193. /*
  194.  * New Method: GetBoundingBox
  195.  */
  196. typedef void   (SOMLINK *somTD_ODBaseShape_GetBoundingBox)(ODBaseShape *somSelf, Environment *ev,
  197.         ODRect* bounds);
  198. #define somMD_ODBaseShape_GetBoundingBox "::ODBaseShape::GetBoundingBox"
  199. #define ODBaseShape_GetBoundingBox(somSelf,ev,bounds) \
  200.     (SOM_Resolve(somSelf, ODBaseShape, GetBoundingBox) \
  201.     (somSelf,ev,bounds))
  202. #ifndef SOMGD_GetBoundingBox
  203.     #if (defined(_GetBoundingBox) || defined(__GetBoundingBox))
  204.         #undef _GetBoundingBox
  205.         #undef __GetBoundingBox
  206.         #define SOMGD_GetBoundingBox 1
  207.     #else
  208.         #define _GetBoundingBox ODBaseShape_GetBoundingBox
  209.     #endif /* _GetBoundingBox */
  210. #endif /* SOMGD_GetBoundingBox */
  211.  
  212. /*
  213.  * New Method: SetRectangle
  214.  */
  215. typedef ODShape*   (SOMLINK *somTD_ODBaseShape_SetRectangle)(ODBaseShape *somSelf, Environment *ev,
  216.         ODRect* rect);
  217. #define somMD_ODBaseShape_SetRectangle "::ODBaseShape::SetRectangle"
  218. #define ODBaseShape_SetRectangle(somSelf,ev,rect) \
  219.     (SOM_Resolve(somSelf, ODBaseShape, SetRectangle) \
  220.     (somSelf,ev,rect))
  221. #ifndef SOMGD_SetRectangle
  222.     #if (defined(_SetRectangle) || defined(__SetRectangle))
  223.         #undef _SetRectangle
  224.         #undef __SetRectangle
  225.         #define SOMGD_SetRectangle 1
  226.     #else
  227.         #define _SetRectangle ODBaseShape_SetRectangle
  228.     #endif /* _SetRectangle */
  229. #endif /* SOMGD_SetRectangle */
  230.  
  231. /*
  232.  * New Method: CopyPolygon
  233.  */
  234. typedef ODPolygon   (SOMLINK *somTD_ODBaseShape_CopyPolygon)(ODBaseShape *somSelf, Environment *ev);
  235. #define somMD_ODBaseShape_CopyPolygon "::ODBaseShape::CopyPolygon"
  236. #define ODBaseShape_CopyPolygon(somSelf,ev) \
  237.     (SOM_Resolve(somSelf, ODBaseShape, CopyPolygon) \
  238.     (somSelf,ev))
  239. #ifndef SOMGD_CopyPolygon
  240.     #if (defined(_CopyPolygon) || defined(__CopyPolygon))
  241.         #undef _CopyPolygon
  242.         #undef __CopyPolygon
  243.         #define SOMGD_CopyPolygon 1
  244.     #else
  245.         #define _CopyPolygon ODBaseShape_CopyPolygon
  246.     #endif /* _CopyPolygon */
  247. #endif /* SOMGD_CopyPolygon */
  248.  
  249. /*
  250.  * New Method: SetPolygon
  251.  */
  252. typedef ODShape*   (SOMLINK *somTD_ODBaseShape_SetPolygon)(ODBaseShape *somSelf, Environment *ev,
  253.         ODPolygon* polygon);
  254. #define somMD_ODBaseShape_SetPolygon "::ODBaseShape::SetPolygon"
  255. #define ODBaseShape_SetPolygon(somSelf,ev,polygon) \
  256.     (SOM_Resolve(somSelf, ODBaseShape, SetPolygon) \
  257.     (somSelf,ev,polygon))
  258. #ifndef SOMGD_SetPolygon
  259.     #if (defined(_SetPolygon) || defined(__SetPolygon))
  260.         #undef _SetPolygon
  261.         #undef __SetPolygon
  262.         #define SOMGD_SetPolygon 1
  263.     #else
  264.         #define _SetPolygon ODBaseShape_SetPolygon
  265.     #endif /* _SetPolygon */
  266. #endif /* SOMGD_SetPolygon */
  267.  
  268. /*
  269.  * New Method: GetPlatformShape
  270.  */
  271. typedef ODPlatformShape   (SOMLINK *somTD_ODBaseShape_GetPlatformShape)(ODBaseShape *somSelf, Environment *ev,
  272.         ODGraphicsSystem graphicsSystem);
  273. #define somMD_ODBaseShape_GetPlatformShape "::ODBaseShape::GetPlatformShape"
  274. #define ODBaseShape_GetPlatformShape(somSelf,ev,graphicsSystem) \
  275.     (SOM_Resolve(somSelf, ODBaseShape, GetPlatformShape) \
  276.     (somSelf,ev,graphicsSystem))
  277. #ifndef SOMGD_GetPlatformShape
  278.     #if (defined(_GetPlatformShape) || defined(__GetPlatformShape))
  279.         #undef _GetPlatformShape
  280.         #undef __GetPlatformShape
  281.         #define SOMGD_GetPlatformShape 1
  282.     #else
  283.         #define _GetPlatformShape ODBaseShape_GetPlatformShape
  284.     #endif /* _GetPlatformShape */
  285. #endif /* SOMGD_GetPlatformShape */
  286.  
  287. /*
  288.  * New Method: SetPlatformShape
  289.  */
  290. typedef void   (SOMLINK *somTD_ODBaseShape_SetPlatformShape)(ODBaseShape *somSelf, Environment *ev,
  291.         ODGraphicsSystem graphicsSystem,
  292.         ODPlatformShape platformShape);
  293. #define somMD_ODBaseShape_SetPlatformShape "::ODBaseShape::SetPlatformShape"
  294. #define ODBaseShape_SetPlatformShape(somSelf,ev,graphicsSystem,platformShape) \
  295.     (SOM_Resolve(somSelf, ODBaseShape, SetPlatformShape) \
  296.     (somSelf,ev,graphicsSystem,platformShape))
  297. #ifndef SOMGD_SetPlatformShape
  298.     #if (defined(_SetPlatformShape) || defined(__SetPlatformShape))
  299.         #undef _SetPlatformShape
  300.         #undef __SetPlatformShape
  301.         #define SOMGD_SetPlatformShape 1
  302.     #else
  303.         #define _SetPlatformShape ODBaseShape_SetPlatformShape
  304.     #endif /* _SetPlatformShape */
  305. #endif /* SOMGD_SetPlatformShape */
  306.  
  307. /*
  308.  * New Method: WriteShape
  309.  */
  310. typedef void   (SOMLINK *somTD_ODBaseShape_WriteShape)(ODBaseShape *somSelf, Environment *ev,
  311.         ODStorageUnit* storageUnit);
  312. #define somMD_ODBaseShape_WriteShape "::ODBaseShape::WriteShape"
  313. #define ODBaseShape_WriteShape(somSelf,ev,storageUnit) \
  314.     (SOM_Resolve(somSelf, ODBaseShape, WriteShape) \
  315.     (somSelf,ev,storageUnit))
  316. #ifndef SOMGD_WriteShape
  317.     #if (defined(_WriteShape) || defined(__WriteShape))
  318.         #undef _WriteShape
  319.         #undef __WriteShape
  320.         #define SOMGD_WriteShape 1
  321.     #else
  322.         #define _WriteShape ODBaseShape_WriteShape
  323.     #endif /* _WriteShape */
  324. #endif /* SOMGD_WriteShape */
  325.  
  326. /*
  327.  * New Method: ReadShape
  328.  */
  329. typedef ODShape*   (SOMLINK *somTD_ODBaseShape_ReadShape)(ODBaseShape *somSelf, Environment *ev,
  330.         ODStorageUnit* storageUnit);
  331. #define somMD_ODBaseShape_ReadShape "::ODBaseShape::ReadShape"
  332. #define ODBaseShape_ReadShape(somSelf,ev,storageUnit) \
  333.     (SOM_Resolve(somSelf, ODBaseShape, ReadShape) \
  334.     (somSelf,ev,storageUnit))
  335. #ifndef SOMGD_ReadShape
  336.     #if (defined(_ReadShape) || defined(__ReadShape))
  337.         #undef _ReadShape
  338.         #undef __ReadShape
  339.         #define SOMGD_ReadShape 1
  340.     #else
  341.         #define _ReadShape ODBaseShape_ReadShape
  342.     #endif /* _ReadShape */
  343. #endif /* SOMGD_ReadShape */
  344.  
  345. /*
  346.  * New Method: IsSameAs
  347.  */
  348. typedef ODBoolean   (SOMLINK *somTD_ODBaseShape_IsSameAs)(ODBaseShape *somSelf, Environment *ev,
  349.         ODShape* compareShape);
  350. #define somMD_ODBaseShape_IsSameAs "::ODBaseShape::IsSameAs"
  351. #define ODBaseShape_IsSameAs(somSelf,ev,compareShape) \
  352.     (SOM_Resolve(somSelf, ODBaseShape, IsSameAs) \
  353.     (somSelf,ev,compareShape))
  354. #ifndef SOMGD_IsSameAs
  355.     #if (defined(_IsSameAs) || defined(__IsSameAs))
  356.         #undef _IsSameAs
  357.         #undef __IsSameAs
  358.         #define SOMGD_IsSameAs 1
  359.     #else
  360.         #define _IsSameAs ODBaseShape_IsSameAs
  361.     #endif /* _IsSameAs */
  362. #endif /* SOMGD_IsSameAs */
  363.  
  364. /*
  365.  * New Method: IsEmpty
  366.  */
  367. typedef ODBoolean   (SOMLINK *somTD_ODBaseShape_IsEmpty)(ODBaseShape *somSelf, Environment *ev);
  368. #define somMD_ODBaseShape_IsEmpty "::ODBaseShape::IsEmpty"
  369. #define ODBaseShape_IsEmpty(somSelf,ev) \
  370.     (SOM_Resolve(somSelf, ODBaseShape, IsEmpty) \
  371.     (somSelf,ev))
  372. #ifndef SOMGD_IsEmpty
  373.     #if (defined(_IsEmpty) || defined(__IsEmpty))
  374.         #undef _IsEmpty
  375.         #undef __IsEmpty
  376.         #define SOMGD_IsEmpty 1
  377.     #else
  378.         #define _IsEmpty ODBaseShape_IsEmpty
  379.     #endif /* _IsEmpty */
  380. #endif /* SOMGD_IsEmpty */
  381.  
  382. /*
  383.  * New Method: ContainsPoint
  384.  */
  385. typedef ODBoolean   (SOMLINK *somTD_ODBaseShape_ContainsPoint)(ODBaseShape *somSelf, Environment *ev,
  386.         ODPoint* point);
  387. #define somMD_ODBaseShape_ContainsPoint "::ODBaseShape::ContainsPoint"
  388. #define ODBaseShape_ContainsPoint(somSelf,ev,point) \
  389.     (SOM_Resolve(somSelf, ODBaseShape, ContainsPoint) \
  390.     (somSelf,ev,point))
  391. #ifndef SOMGD_ContainsPoint
  392.     #if (defined(_ContainsPoint) || defined(__ContainsPoint))
  393.         #undef _ContainsPoint
  394.         #undef __ContainsPoint
  395.         #define SOMGD_ContainsPoint 1
  396.     #else
  397.         #define _ContainsPoint ODBaseShape_ContainsPoint
  398.     #endif /* _ContainsPoint */
  399. #endif /* SOMGD_ContainsPoint */
  400.  
  401. /*
  402.  * New Method: IsRectangular
  403.  */
  404. typedef ODBoolean   (SOMLINK *somTD_ODBaseShape_IsRectangular)(ODBaseShape *somSelf, Environment *ev);
  405. #define somMD_ODBaseShape_IsRectangular "::ODBaseShape::IsRectangular"
  406. #define ODBaseShape_IsRectangular(somSelf,ev) \
  407.     (SOM_Resolve(somSelf, ODBaseShape, IsRectangular) \
  408.     (somSelf,ev))
  409. #ifndef SOMGD_IsRectangular
  410.     #if (defined(_IsRectangular) || defined(__IsRectangular))
  411.         #undef _IsRectangular
  412.         #undef __IsRectangular
  413.         #define SOMGD_IsRectangular 1
  414.     #else
  415.         #define _IsRectangular ODBaseShape_IsRectangular
  416.     #endif /* _IsRectangular */
  417. #endif /* SOMGD_IsRectangular */
  418.  
  419. /*
  420.  * New Method: HasGeometry
  421.  */
  422. typedef ODBoolean   (SOMLINK *somTD_ODBaseShape_HasGeometry)(ODBaseShape *somSelf, Environment *ev);
  423. #define somMD_ODBaseShape_HasGeometry "::ODBaseShape::HasGeometry"
  424. #define ODBaseShape_HasGeometry(somSelf,ev) \
  425.     (SOM_Resolve(somSelf, ODBaseShape, HasGeometry) \
  426.     (somSelf,ev))
  427. #ifndef SOMGD_HasGeometry
  428.     #if (defined(_HasGeometry) || defined(__HasGeometry))
  429.         #undef _HasGeometry
  430.         #undef __HasGeometry
  431.         #define SOMGD_HasGeometry 1
  432.     #else
  433.         #define _HasGeometry ODBaseShape_HasGeometry
  434.     #endif /* _HasGeometry */
  435. #endif /* SOMGD_HasGeometry */
  436.  
  437. /*
  438.  * New Method: Copy
  439.  */
  440. typedef ODShape*   (SOMLINK *somTD_ODBaseShape_Copy)(ODBaseShape *somSelf, Environment *ev);
  441. #define somMD_ODBaseShape_Copy "::ODBaseShape::Copy"
  442. #define ODBaseShape_Copy(somSelf,ev) \
  443.     (SOM_Resolve(somSelf, ODBaseShape, Copy) \
  444.     (somSelf,ev))
  445. #ifndef SOMGD_Copy
  446.     #if (defined(_Copy) || defined(__Copy))
  447.         #undef _Copy
  448.         #undef __Copy
  449.         #define SOMGD_Copy 1
  450.     #else
  451.         #define _Copy ODBaseShape_Copy
  452.     #endif /* _Copy */
  453. #endif /* SOMGD_Copy */
  454.  
  455. /*
  456.  * New Method: CopyFrom
  457.  */
  458. typedef void   (SOMLINK *somTD_ODBaseShape_CopyFrom)(ODBaseShape *somSelf, Environment *ev,
  459.         ODShape* sourceShape);
  460. #define somMD_ODBaseShape_CopyFrom "::ODBaseShape::CopyFrom"
  461. #define ODBaseShape_CopyFrom(somSelf,ev,sourceShape) \
  462.     (SOM_Resolve(somSelf, ODBaseShape, CopyFrom) \
  463.     (somSelf,ev,sourceShape))
  464. #ifndef SOMGD_CopyFrom
  465.     #if (defined(_CopyFrom) || defined(__CopyFrom))
  466.         #undef _CopyFrom
  467.         #undef __CopyFrom
  468.         #define SOMGD_CopyFrom 1
  469.     #else
  470.         #define _CopyFrom ODBaseShape_CopyFrom
  471.     #endif /* _CopyFrom */
  472. #endif /* SOMGD_CopyFrom */
  473.  
  474. /*
  475.  * New Method: Transform
  476.  */
  477. typedef ODShape*   (SOMLINK *somTD_ODBaseShape_Transform)(ODBaseShape *somSelf, Environment *ev,
  478.         ODTransform* transform);
  479. #define somMD_ODBaseShape_Transform "::ODBaseShape::Transform"
  480. #define ODBaseShape_Transform(somSelf,ev,transform) \
  481.     (SOM_Resolve(somSelf, ODBaseShape, Transform) \
  482.     (somSelf,ev,transform))
  483. #ifndef SOMGD_Transform
  484.     #if (defined(_Transform) || defined(__Transform))
  485.         #undef _Transform
  486.         #undef __Transform
  487.         #define SOMGD_Transform 1
  488.     #else
  489.         #define _Transform ODBaseShape_Transform
  490.     #endif /* _Transform */
  491. #endif /* SOMGD_Transform */
  492.  
  493. /*
  494.  * New Method: InverseTransform
  495.  */
  496. typedef ODShape*   (SOMLINK *somTD_ODBaseShape_InverseTransform)(ODBaseShape *somSelf, Environment *ev,
  497.         ODTransform* transform);
  498. #define somMD_ODBaseShape_InverseTransform "::ODBaseShape::InverseTransform"
  499. #define ODBaseShape_InverseTransform(somSelf,ev,transform) \
  500.     (SOM_Resolve(somSelf, ODBaseShape, InverseTransform) \
  501.     (somSelf,ev,transform))
  502. #ifndef SOMGD_InverseTransform
  503.     #if (defined(_InverseTransform) || defined(__InverseTransform))
  504.         #undef _InverseTransform
  505.         #undef __InverseTransform
  506.         #define SOMGD_InverseTransform 1
  507.     #else
  508.         #define _InverseTransform ODBaseShape_InverseTransform
  509.     #endif /* _InverseTransform */
  510. #endif /* SOMGD_InverseTransform */
  511.  
  512. /*
  513.  * New Method: Subtract
  514.  */
  515. typedef ODShape*   (SOMLINK *somTD_ODBaseShape_Subtract)(ODBaseShape *somSelf, Environment *ev,
  516.         ODShape* diffShape);
  517. #define somMD_ODBaseShape_Subtract "::ODBaseShape::Subtract"
  518. #define ODBaseShape_Subtract(somSelf,ev,diffShape) \
  519.     (SOM_Resolve(somSelf, ODBaseShape, Subtract) \
  520.     (somSelf,ev,diffShape))
  521. #ifndef SOMGD_Subtract
  522.     #if (defined(_Subtract) || defined(__Subtract))
  523.         #undef _Subtract
  524.         #undef __Subtract
  525.         #define SOMGD_Subtract 1
  526.     #else
  527.         #define _Subtract ODBaseShape_Subtract
  528.     #endif /* _Subtract */
  529. #endif /* SOMGD_Subtract */
  530.  
  531. /*
  532.  * New Method: Intersect
  533.  */
  534. typedef ODShape*   (SOMLINK *somTD_ODBaseShape_Intersect)(ODBaseShape *somSelf, Environment *ev,
  535.         ODShape* sectShape);
  536. #define somMD_ODBaseShape_Intersect "::ODBaseShape::Intersect"
  537. #define ODBaseShape_Intersect(somSelf,ev,sectShape) \
  538.     (SOM_Resolve(somSelf, ODBaseShape, Intersect) \
  539.     (somSelf,ev,sectShape))
  540. #ifndef SOMGD_Intersect
  541.     #if (defined(_Intersect) || defined(__Intersect))
  542.         #undef _Intersect
  543.         #undef __Intersect
  544.         #define SOMGD_Intersect 1
  545.     #else
  546.         #define _Intersect ODBaseShape_Intersect
  547.     #endif /* _Intersect */
  548. #endif /* SOMGD_Intersect */
  549.  
  550. /*
  551.  * New Method: Union
  552.  */
  553. typedef ODShape*   (SOMLINK *somTD_ODBaseShape_Union)(ODBaseShape *somSelf, Environment *ev,
  554.         ODShape* unionShape);
  555. #define somMD_ODBaseShape_Union "::ODBaseShape::Union"
  556. #define ODBaseShape_Union(somSelf,ev,unionShape) \
  557.     (SOM_Resolve(somSelf, ODBaseShape, Union) \
  558.     (somSelf,ev,unionShape))
  559. #ifndef SOMGD_Union
  560.     #if (defined(_Union) || defined(__Union))
  561.         #undef _Union
  562.         #undef __Union
  563.         #define SOMGD_Union 1
  564.     #else
  565.         #define _Union ODBaseShape_Union
  566.     #endif /* _Union */
  567. #endif /* SOMGD_Union */
  568. #ifndef SOM_DONT_USE_INHERITED_MACROS
  569. #define ODBaseShape_InitObject ODObject_InitObject
  570. #define ODBaseShape_IsInitialized ODObject_IsInitialized
  571. #define ODBaseShape_HasExtension ODObject_HasExtension
  572. #define ODBaseShape_GetExtension ODObject_GetExtension
  573. #define ODBaseShape_ReleaseExtension ODObject_ReleaseExtension
  574. #define ODBaseShape_Purge ODObject_Purge
  575. #define ODBaseShape_SubClassResponsibility ODObject_SubClassResponsibility
  576. #define ODBaseShape_somFree SOMObject_somFree
  577. #define ODBaseShape_somGetClass SOMObject_somGetClass
  578. #define ODBaseShape_somGetClassName SOMObject_somGetClassName
  579. #define ODBaseShape_somGetSize SOMObject_somGetSize
  580. #define ODBaseShape_somIsA SOMObject_somIsA
  581. #define ODBaseShape_somIsInstanceOf SOMObject_somIsInstanceOf
  582. #define ODBaseShape_somRespondsTo SOMObject_somRespondsTo
  583. #define ODBaseShape_somDispatchV SOMObject_somDispatchV
  584. #define ODBaseShape_somDispatchL SOMObject_somDispatchL
  585. #define ODBaseShape_somDispatchA SOMObject_somDispatchA
  586. #define ODBaseShape_somDispatchD SOMObject_somDispatchD
  587. #define ODBaseShape_somDispatch SOMObject_somDispatch
  588. #define ODBaseShape_somClassDispatch SOMObject_somClassDispatch
  589. #define ODBaseShape_somPrintSelf SOMObject_somPrintSelf
  590. #define ODBaseShape_somDumpSelf SOMObject_somDumpSelf
  591. #define ODBaseShape_somDumpSelfInt SOMObject_somDumpSelfInt
  592. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  593.  
  594. #endif       /* SOM_ODBaseShape_h */
  595.